home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 36 / dvkpoll.zip / DVKPOLL.ASM next >
Assembly Source File  |  1988-06-18  |  1KB  |  73 lines

  1. CODE SEGMENT 'CODE'
  2.         ASSUME  CS:CODE,DS:NOTHING,ES:NOTHING,SS:NOTHING
  3.  
  4. BEGIN:
  5.         JMP     SHORT START
  6.  
  7. HANDLER PROC FAR
  8.         CMP     AH,1
  9.         JE      IS_POLL
  10.         CMP     AH,11H
  11.         JE      IS_POLL
  12.         JMP     DWORD PTR CS:OLD_VECTOR
  13.  
  14. IS_POLL:
  15.         PUSHF
  16.         CALL    DWORD PTR CS:OLD_VECTOR
  17.         JNZ     DONE
  18.         PUSH    AX
  19.         PUSHF
  20.         MOV     AX,1000H
  21.         INT     15H
  22.         POPF
  23.         POP     AX
  24. DONE:
  25.         RET     2
  26.  
  27. OLD_VECTOR DD 0
  28. HANDLER ENDP
  29.  
  30. START PROC FAR
  31.         JCXZ    LOADING
  32.         PUSH    DS
  33.         PUSH    ES
  34.         POP     DS
  35.         MOV     DX,DI
  36.         MOV     AX,2516H
  37.         INT     21H
  38.         POP     ES
  39.         XOR     DI,DI
  40.         MOV     AX,1002H
  41.         INT     15H
  42.         RET
  43. LOADING:
  44.         MOV     BX,OFFSET START
  45.  
  46.         MOV     AX,1001H
  47.         INT     15H
  48.         PUSH    CS
  49.         POP     DS
  50.         MOV     SI,OFFSET HANDLER
  51.         MOV     DI,SI
  52.         MOV     CX,BX
  53.         CLD
  54.         REP     MOVSB
  55.         PUSH    ES
  56.         POP     DS
  57.         MOV     AX,3516H
  58.         INT     21H
  59.         MOV     DI,OFFSET OLD_VECTOR
  60.         MOV     [DI],BX
  61.         MOV     [DI+2],ES
  62.         MOV     DI,BX
  63.         MOV     DX,OFFSET HANDLER
  64.         MOV     AX,2516H
  65.         INT     21H
  66.         CLC
  67.         RET     12
  68. START ENDP
  69.  
  70. CODE    ENDS
  71.         END
  72.         
  73.